package main

// 求最大值的非泛型写法
// 缺点：代码复用率低，针对不同数据类型，都需要实现相同的逻辑

import "fmt"

func maxInt(items []int) int {
	max := items[0]
	for i := 1; i < len(items); i++ {
		if items[i] > max {
			max = items[i]
		}
	}
	return max
}

func maxString(items []string) string {
	max := items[0]
	for i := 1; i < len(items); i++ {
		if items[i] > max {
			max = items[i]
		}
	}
	return max
}

func maxFloat64(items []float64) float64 {
	max := items[0]
	for i := 1; i < len(items); i++ {
		if items[i] > max {
			max = items[i]
		}
	}
	return max
}

func main() {
	max := maxInt([]int{1, 3, 5, 7, 9, 2, 4, 6, 8, 10})
	fmt.Println(max)
}
